#include <iostream>
#include <json/json.h>
#include <sstream>
#include <string>
#include <memory>


int main()
{
    const char* name = "小明";
    int age = 18;
    float score[] = {88,99,77.7};
    Json::Value root;
    root["姓名"] = name;
    root["年龄"] = age;
    root["成绩"].append(score[0]);
    root["成绩"].append(score[1]);
    root["成绩"].append(score[2]);


    Json::StreamWriterBuilder swb;
    std::unique_ptr<Json::StreamWriter> sw(swb.newStreamWriter());
    std::stringstream ss;
    sw->write(root,&ss);
    std::cout<<ss.str()<<std::endl;
    return 0;
    // std::string str = "{\"姓名\":\"小黑\",\"年龄\":19,\"成绩\":[10.8,11,11]}";
    // std::string err;
    // Json::Value root;
    // Json::CharReaderBuilder crb;
    // std::unique_ptr<Json::CharReader> cr(crb.newCharReader());
    // bool ret = cr->parse(str.c_str(),str.c_str() + str.size(),&root,&err);
    // if(ret == false)
    // {
    //     std::cout<<"反序列化失败:"<<err<<std::endl;
    //     return -1;
    // }
    // std::cout<<root["姓名"].asString()<<std::endl;
    // int sz = root["成绩"].size();
    // for(int i = 0;i<sz;i++)
    // {
    //     std::cout<<root["成绩"][i]<<std::endl;
    // }
    
}